home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / info / gnats.info-1.z / gnats.info-1
Encoding:
GNU Info File  |  1998-05-21  |  46.3 KB  |  1,215 lines

  1. This is Info file ../../info/gnats.info, produced by Makeinfo version
  2. 1.68 from the input file gnats.texi.
  3.  
  4. START-INFO-DIR-ENTRY
  5. * Keeping Track: (gnats).        GNU Problem Report Management System
  6. END-INFO-DIR-ENTRY
  7.  
  8.    Copyright (C) 1993, 1995 Free Software Foundation, Inc.
  9.  
  10.    Permission is granted to make and distribute verbatim copies of this
  11. manual provided the copyright notice and this permission notice are
  12. preserved on all copies.
  13.  
  14.    Permission is granted to copy and distribute modified versions of
  15. this manual under the conditions for verbatim copying, provided also
  16. that the entire resulting derived work is distributed under the terms
  17. of a permission notice identical to this one.
  18.  
  19.    Permission is granted to copy and distribute translations of this
  20. manual into another language, under the above conditions for modified
  21. versions.
  22.  
  23. 
  24. File: gnats.info,  Node: Top,  Next: Introduction,  Up: (dir)
  25.  
  26. Overview
  27. ********
  28.  
  29.    This manual documents GNATS, the GNU Problem Report Management
  30. System, version 3.101.  GNATS is a bug-tracking tool designed for use
  31. at a central "Support Site".  Users who experience problems use
  32. electronic mail to communicate these problems to "maintainers" at that
  33. Support Site.  GNATS partially automates the tracking of these "Problem
  34. Reports" ("PR"s) by:
  35.  
  36.    * organizing problem reports into a database and notifying
  37.      responsible parties of suspected bugs;
  38.  
  39.    * allowing support personnel and their managers to edit and query
  40.      accumulated bugs; and
  41.  
  42.    * providing a reliable archive of problems (and their subsequent
  43.      solutions) with a given program.
  44.  
  45.    GNATS offers many of the same features offered by more generalized
  46. databases, including editing, querying, and basic reporting.  The GNATS
  47. database itself is an ordered repository for problem reports; each PR
  48. receives a unique, incremental "PR number" which identifies it
  49. throughout its lifetime.  For a discussion on the working system
  50. adopted by GNATS, see *Note The database paradigm: Paradigm.
  51.  
  52.    You can access the submitting, editing, and querying functions of
  53. GNATS from within GNU Emacs.  *Note Invoking the GNATS tools: Invoking
  54. the tools.
  55.  
  56. * Menu:
  57.  
  58. * Introduction::          Introducing GNATS
  59. * Invoking the tools::    Invoking the GNATS tools
  60. * Management::            GNATS Administration
  61. * Installation::          Installing GNATS
  62. * Locations::             Where GNATS lives
  63. * Regexps::               Querying using regular expressions
  64. * Index::
  65.  
  66. 
  67. File: gnats.info,  Node: Introduction,  Next: Invoking the tools,  Prev: Top,  Up: Top
  68.  
  69. Introducing GNATS
  70. *****************
  71.  
  72.    Any support organization realizes that a large amount of data flows
  73. back and forth between the maintainers and the users of their products.
  74. This data often takes the form of problem reports and communication via
  75. electronic mail.  GNATS addresses the problem of organizing this
  76. communication by defining a database made up of archived and indexed
  77. electronic mail messages.
  78.  
  79.    GNATS was designed as a tool for software maintainers.  It consists
  80. of several utilities which, when used in concert, formulate and
  81. administer a database of Problem Reports grouped by site-defined
  82. "problem categories".  It allows a support organization to keep track
  83. of problems (hence the term "Problem Report") in an organized fashion.
  84. Essentially, GNATS acts as an active archive for field-separated
  85. textual data submitted through electronic mail.
  86.  
  87. * Menu:
  88.  
  89. * Paradigm::       The database paradigm
  90. * Flowchart::      Flowchart of GNATS activities
  91. * States::         States of Problem Reports
  92. * Fields::         Problem Report format
  93.  
  94. 
  95. File: gnats.info,  Node: Paradigm,  Next: Flowchart,  Up: Introduction
  96.  
  97. The database paradigm
  98. =====================
  99.  
  100.    It is in your best interest as the maintainer of a body of work to
  101. organize the feedback you receive on that work, and to make it easy for
  102. users of your work to report problems and suggestions.
  103.  
  104.    GNATS makes this easy by automatically filing incoming problem
  105. reports into appropriate places, by notifying responsible parties of the
  106. existence of the problem and (optionally) sending an acknowledgement to
  107. the submitter that the report was received, and by making these Problem
  108. Reports accessible to queries and easily editable.  GNATS is a database
  109. specialized for a specific task.
  110.  
  111.    GNATS was designed for use at a Support Site that handles a high
  112. level of problem-related traffic though electronic mail.  It maintains
  113. Problem Reports in the form of text files with defined "fields" (*note
  114. GNATS data fields: Fields.).  The location of the database, as well as
  115. the categories it accepts as valid, the maintainers for whom it
  116. provides service, and the submitters from whom it accepts Problem
  117. Reports, are all definable by the "Support Site".  *Note GNATS
  118. administration: Management.
  119.  
  120.    Each PR is a separate file within a main repository (*note Where
  121. GNATS lives: Locations.).  Editing access to the database is regulated
  122. to maintain consistency, but anyone with electronic mail access may
  123. submit Problem Reports.  To make queries on the database faster, an
  124. index is kept automatically (*note The `index' file: index file.).
  125.  
  126.    We provide several software tools so that users may submit new
  127. Problem Reports, edit existing Problem Reports, and query the database.
  128.  
  129.    * `send-pr' is used by both product maintainers and the end users of
  130.      the products they support to submit PRs to the database.
  131.  
  132.    * `edit-pr' is used by maintainers to use when editing problem
  133.      reports in the database.
  134.  
  135.    * Maintainers, managers and administrators can use `query-pr' to
  136.      make inquiries about indidvidual PRs or groups of PRs.
  137.  
  138.    `send-pr' can also be packaged by itself and distributed to anyone
  139. you wish to receive Problem  Reports  from; see *Note Configuring
  140. `send-pr' for the outside world: mkdist.
  141.  
  142.    At the Support Site, a GNATS "administrator" is charged with the
  143. duty of maintaining GNATS.  These duties are discussed in detail in
  144. *Note GNATS Administration: Management, and generally include
  145. configuring GNATS for the Support Site, editing PRs that GNATS cannot
  146. process, pruning log files, setting up new problem categories, backing
  147. up the database, and distributing `send-pr' so that others may submit
  148. Problem Reports.
  149.  
  150.    Responsibility for a given Problem Report depends on the category of
  151. the problem.  Optionally, an automated reminder can be sent to the
  152. responsible person if a problem report is neglected for a requisite time
  153. period.  *Note Changing your local configuration: Local configuration.
  154.  
  155.    GNATS does not have the ability to decipher random text, so any
  156. problem reports which arrive in a format GNATS does not recognize are
  157. placed in a separate directory pending investigation by the GNATS
  158. administrator (*note GNATS Administration: Management.).
  159.  
  160.    Once a problem is recorded in the database, work can begin toward a
  161. solution.  A problem's initial "state" is `open' (*note States of
  162. Problem Reports: States.).  An acknowledgement is sent to the
  163. originator of the bug report (if that feature of GNATS is activated).
  164. GNATS forwards copies of the report to the party responsible for that
  165. problem category and to the person responsible for problems arriving
  166. from that "Submitter Site".
  167.  
  168.    When a problem has been identified, the maintainer can change its
  169. state to `analyzed', and then to `feedback' when a solution is found.
  170. Each time the state of a PR changes, the submitter of the problem
  171. report is notified of the reason for the change.  If the party
  172. responsible for the PR changes, the previous responsible party and the
  173. new responsible party receive notice of the change.  The change and
  174. reason are also recorded in the `>Audit-Trail:' field of the Problem
  175. Report.  (*Note Editing existing Problem Reports: edit-pr.  For
  176. information on the `>Audit-Trail:' field, see *Note Problem Report
  177. format: Fields.)
  178.  
  179.    When the originator of the Problem Report confirms that the solution
  180. works, the maintainer can change the state to "closed".  If the PR
  181. cannot be closed, the maintainer can change its state to "suspended" as
  182. a last resort.  (For a more detailed description of these states, see
  183. *Note States of Problem Reports: States.)
  184.  
  185. 
  186. File: gnats.info,  Node: Flowchart,  Next: States,  Prev: Paradigm,  Up: Introduction
  187.  
  188. Flowchart of GNATS activities
  189. =============================
  190.  
  191.    This informal flowchart shows the relationships of the GNATS tools
  192. to each other and to the files with which they interoperate.
  193.  
  194.      +===========+    +===========+    +===========+
  195.      # USER SITE #    # USER SITE #    # USER SITE #
  196.      #           #    #           #    #           #
  197.      # *send-pr* #    # *send-pr* #    # *send-pr* #
  198.      +=====|=====+    +=====|=====+    +=====|=====+
  199.            |                V                |
  200.            `--------->    Email....  <-------'
  201.                      ,--->     |
  202.      +===============|=========|===================+
  203.      # SUPPORT SITE  |         `---> /etc/aliases  #
  204.      #          *send-pr*                |         #
  205.      #     +-----------------------------V--------+#
  206.      #     | GNATS         GNATS_ROOT/gnats-queue/|#
  207.      #     |                             |        |#
  208.      #     |        _________            V        |#
  209.      #     |       |*file-pr*|<--- *queue-pr -r*  |#
  210.      #     |       |         |                    |#
  211.      #  _  |       |  valid  |                    |#
  212.      # |M| |       |Category?|N--.                |#
  213.      # |A| |       |_________|   |      GNATS     |#
  214.      # |I| |              Y|     |  ADMINISTRATOR |#
  215.      # |N| |               |     |                |#
  216.      # |T|<----------------|     |                |#
  217.      # |A| |               |     |  .-> *edit-pr* |#
  218.      # |I|--->*edit-pr*-.  |     V  |           | |#
  219.      # |N| |            |  |GNATS_ROOT/pending  | |#
  220.      # |E|<--*query-pr* |  |                    | |#
  221.      # |R| |       |    |  |                    | |#
  222.      # |S| |       |    V  V                    V |#
  223.      # |_| |+------------------------------------+|#
  224.      #     ||         GNATS Database             ||#
  225.      #     ||   GNATS_ROOT/CATEGORY/GNATS-ID     ||#
  226.      #     |+------------------------------------+|#
  227.      #     +--------------------------------------+#
  228.      +=============================================+
  229.  
  230. 
  231. File: gnats.info,  Node: States,  Next: Fields,  Prev: Flowchart,  Up: Introduction
  232.  
  233. States of Problem Reports
  234. =========================
  235.  
  236.    Each PR goes through a defined series of states between origination
  237. and closure.  The originator of a PR receives notification
  238. automatically of any state changes.
  239.  
  240. "open"
  241.      The initial state of a Problem Report.  This means the PR has been
  242.      filed and the responsible person(s) notified.
  243.  
  244. "analyzed"
  245.      The responsible person has analyzed the problem.  The analysis
  246.      should contain a preliminary evaluation of the problem and an
  247.      estimate of the amount of time and resources necessary to solve
  248.      the problem.  It should also suggest possible workarounds.
  249.  
  250. "feedback"
  251.      The problem has been solved, and the originator has been given a
  252.      patch or other fix.  The PR remains in this state until the
  253.      originator acknowledges that the solution works.
  254.  
  255. "closed"
  256.      A Problem Report is closed ("the bug stops here") only when any
  257.      changes have been integrated, documented, and tested, and the
  258.      submitter has confirmed the solution.
  259.  
  260. "suspended"
  261.      Work on the problem has been postponed.  This happens if a timely
  262.      solution is not possible or is not cost-effective at the present
  263.      time.  The PR continues to exist, though a solution is not being
  264.      actively sought.  If the problem cannot be solved at all, it
  265.      should be closed rather than suspended.
  266.  
  267. 
  268. File: gnats.info,  Node: Fields,  Prev: States,  Up: Introduction
  269.  
  270. Problem Report format
  271. =====================
  272.  
  273.    The format of a PR is designed to reflect the nature of GNATS as a
  274. database.  Information is arranged into "fields", and kept in
  275. individual records (Problem Reports).
  276.  
  277.    Problem Report fields are denoted by a keyword which begins with `>'
  278. and ends with `:', as in `>Confidential:'.  Fields belong to one of
  279. three data types:
  280.  
  281. ENUMERATED
  282.      One of a specific set of values, which vary according to the
  283.      field.  The value for each keyword must be on the same line as the
  284.      keyword.  These values are not configurable (yet).
  285.  
  286.      The following fields are ENUMERATED format; see the descriptions of
  287.      fields below for explanations of each field in detail:
  288.  
  289.           >Confidential:   >Severity:       >Priority:
  290.           >Class:          >State:          >Number:
  291.  
  292. TEXT
  293.      One single line of text which must begin and end on the same line
  294.      (i.e., before a newline) as the keyword.  See the descriptions of
  295.      fields below for explanations of each field in detail.  The
  296.      following fields are TEXT format:
  297.  
  298.           >Submitter-Id:   >Originator:     >Synopsis:
  299.           >Category:       >Release:        >Responsible:
  300.           >Arrival-Date:
  301.  
  302. MULTITEXT
  303.      Text of any length may occur in this field.  MULTITEXT may span
  304.      multiple lines and may also include blank lines.  A MULTITEXT field
  305.      ends only when another keyword appears.  See the descriptions of
  306.      fields below for explanations of each field in detail.
  307.  
  308.      The following fields are MULTITEXT format:
  309.  
  310.           >Organization:   >Environment:    >Description:
  311.           >How-To-Repeat:  >Fix:            >Audit-Trail:
  312.           >Unformatted:
  313.  
  314.    A Problem Report contains two different types of fields: "Mail
  315. Header" fields, which are used by the mail handler for delivery, and
  316. "Problem Report" fields, which contain information relevant to the
  317. Problem Report and its submitter.  A Problem Report is essentially a
  318. specially formatted electronic mail message.
  319.  
  320. Example Problem Report
  321. ----------------------
  322.  
  323.    The following is an example Problem Report.  Mail headers are at the
  324. top, followed by GNATS fields, which begin with `>' and end with `:'.
  325. The `Subject:' line in the mail header and the `>Synopsis:' field are
  326. usually duplicates of each other.
  327.  
  328.      Message-Id:  MESSAGE-ID
  329.      Date:        DATE
  330.      From:        ADDRESS
  331.      Reply-To:    ADDRESS
  332.      To:          BUG-ADDRESS
  333.      Subject:     SUBJECT
  334.      
  335.      >Number:       GNATS-ID
  336.      >Category:     CATEGORY
  337.      >Synopsis:     SYNOPSIS
  338.      >Confidential: yes *or* no
  339.      >Severity:     critical, serious, *or* non-critical
  340.      >Priority:     high, medium *or* low
  341.      >Responsible:  RESPONSIBLE
  342.      >State:        open, analyzed, suspended, feedback, *or* closed
  343.      >Class:        sw-bug, doc-bug, change-request, support,
  344.      duplicate, *or* mistaken
  345.      >Submitter-Id: SUBMITTER-ID
  346.      >Arrival-Date: DATE
  347.      >Originator:   NAME
  348.      >Organization: ORGANIZATION
  349.      >Release:      RELEASE
  350.      >Environment:
  351.         ENVIRONMENT
  352.      >Description:
  353.         DESCRIPTION
  354.      >How-To-Repeat:
  355.         HOW-TO-REPEAT
  356.      >Fix:
  357.         FIX
  358.      >Audit-Trail:
  359.      APPENDED-MESSAGES...
  360.      State-Changed-From-To: FROM-TO
  361.      State-Changed-When: DATE
  362.      State-Changed-Why:
  363.         REASON
  364.      Responsible-Changed-From-To: FROM-TO
  365.      Responsible-Changed-When: DATE
  366.      Responsible-Changed-Why:
  367.         REASON
  368.      >Unformatted:
  369.         MISCELLANEOUS
  370.  
  371. * Menu:
  372.  
  373. * Mail header fields::
  374. * Problem Report fields::
  375.  
  376. 
  377. File: gnats.info,  Node: Mail header fields,  Next: Problem Report fields,  Up: Fields
  378.  
  379. Mail header fields
  380. ------------------
  381.  
  382.    A Problem Report may contain any mail header field described in the
  383. Internet standard RFC-822.  However, only the fields which identify the
  384. sender and the subject are required by `send-pr':
  385.  
  386. `To:'
  387.      The preconfigured mail address for the Support Site where the PR
  388.      is to be sent, automatically supplied by `send-pr'.
  389.  
  390. `Subject:'
  391.      A terse description of the problem.  This field normally contains
  392.      the same information as the `>Synopsis:' field.
  393.  
  394. `From:'
  395.      Usually supplied automatically by the originator's mailer; should
  396.      contain the originator's electronic mail address.
  397.  
  398. `Reply-To:'
  399.      A return address to which electronic replies can be sent; in most
  400.      cases, the same address as the `From:' field.
  401.  
  402.    One of the configurable options for GNATS is whether or not to
  403. retain `Received-By:' headers, which often consume a lot of space and
  404. are not often used.  *Note Changing your local configuration: Local
  405. configuration.
  406.  
  407. 
  408. File: gnats.info,  Node: Problem Report fields,  Prev: Mail header fields,  Up: Fields
  409.  
  410. Problem Report fields
  411. ---------------------
  412.  
  413. Field descriptions
  414. ------------------
  415.  
  416.    The following fields are present whenever a PR is submitted via the
  417. program `send-pr'.  GNATS adds additional fields when the PR arrives at
  418. the Support Site; explanations of these follow this list.
  419.  
  420. `>Submitter-Id:'
  421.      (TEXT) A unique identification code assigned by the Support Site.
  422.      It is used to identify all Problem Reports coming from a particular
  423.      site.  (Submitters without a value for this field can invoke
  424.      `send-pr' with the `--request-id' option to apply for one from the
  425.      support organization.  Problem Reports from those not affiliated
  426.      with the support organization should use the default value of `net'
  427.      for this field.)
  428.  
  429. `>Originator:'
  430.      (TEXT) Originator's real name.  The default is the value of the
  431.      originator's environment variable `NAME'.
  432.  
  433. `>Organization:'
  434.      (MULTITEXT) The originator's organization.  The default value is
  435.      set with the variable `DEFAULT_ORGANIZATION' in the `config' file
  436.      (*note The `config' file: config.).
  437.  
  438. `>Confidential:'
  439.      (ENUMERATED) Use of this field depends on the originator's
  440.      relationship with the support organization; contractual agreements
  441.      often have provisions for preserving confidentiality.  Conversely,
  442.      a lack of a contract often means that any data provided will not
  443.      be considered confidential.  Submitters should be advised to
  444.      contact the support organization directly if this is an issue.
  445.  
  446.      If the originator's relationship to the support organization
  447.      provides for confidentiality, then if the value of this field is
  448.      `yes' the support organization treats the PR as confidential; any
  449.      code samples provided are not made publicly available (e.g., in
  450.      regression test suites).  The default value is `yes'.
  451.  
  452. `>Synopsis:'
  453.      (TEXT) One-line summary of the problem.  `send-pr' copies this
  454.      information to the `Subject:' line when you submit a Problem
  455.      Report.
  456.  
  457. `>Severity:'
  458.      (ENUMERATED) The severity of the problem.  Accepted values include:
  459.  
  460.     `critical'
  461.           The product, component or concept is completely
  462.           non-operational or some essential functionality is missing.
  463.           No workaround is known.
  464.  
  465.     `serious'
  466.           The product, component or concept is not working properly or
  467.           significant functionality is missing.  Problems that would
  468.           otherwise be considered `critical' are rated `serious' when a
  469.           workaround is known.
  470.  
  471.     `non-critical'
  472.           The product, component or concept is working in general, but
  473.           lacks features, has irritating behavior, does something
  474.           wrong, or doesn't match its documentation.
  475.  
  476.      The default value is `serious'.
  477.  
  478. `>Priority:'
  479.      (ENUMERATED) How soon the originator requires a solution.  Accepted
  480.      values include:
  481.  
  482.     `high'
  483.           A solution is needed as soon as possible.
  484.  
  485.     `medium'
  486.           The problem should be solved in the next release.
  487.  
  488.     `low'
  489.           The problem should be solved in a future release.
  490.  
  491.      The default value is `medium'.
  492.  
  493. `>Category:'
  494.      (TEXT) The name of the product, component or concept where the
  495.      problem lies.  The values for this field are defined by the Support
  496.      Site.  *Note The `categories' file: categories, for details.
  497.  
  498. `>Class:'
  499.      (ENUMERATED) The class of a problem can be one of the following:
  500.  
  501.     `sw-bug'
  502.           A general product problem.  (`sw' stands for "software".)
  503.  
  504.     `doc-bug'
  505.           A problem with the documentation.
  506.  
  507.     `change-request'
  508.           A request for a change in behavior, etc.
  509.  
  510.     `support'
  511.           A support problem or question.
  512.  
  513.     `duplicate (PR-NUMBER)'
  514.           Duplicate PR.  PR-NUMBER should be the number of the original
  515.           PR.
  516.  
  517.     `mistaken'
  518.           No problem, user error or misunderstanding.  This value is
  519.           valid only at the Support Site.
  520.  
  521.      The default is `sw-bug'.
  522.  
  523. `>Release:'
  524.      (TEXT) Release or version number of the product, component or
  525.      concept.
  526.  
  527. `>Environment:'
  528.      (MULTITEXT) Description of the environment where the problem
  529.      occured: machine architecture, operating system, host and target
  530.      types, libraries, pathnames, etc.
  531.  
  532. `>Description:'
  533.      (MULTITEXT) Precise description of the problem.
  534.  
  535. `>How-To-Repeat:'
  536.      (MULTITEXT) Example code, input, or activities to reproduce the
  537.      problem.  The support organization uses example code both to
  538.      reproduce the problem and to test whether the problem is fixed.
  539.      Include all preconditions, inputs, outputs, conditions after the
  540.      problem, and symptoms.  Any additional important information
  541.      should be included.  Include all the details that would be
  542.      necessary for someone else to recreate the problem reported,
  543.      however obvious.  Sometimes seemingly arbitrary or obvious
  544.      information can point the way toward a solution.  See also *Note
  545.      Helpful hints: Helpful hints.
  546.  
  547. `>Fix:'
  548.      (MULTITEXT) A description of a solution to the problem, or a patch
  549.      which solves the problem.  (This field is most often filled in at
  550.      the Support Site; we provide it to the submitter in case she has
  551.      solved the problem.)
  552.  
  553. GNATS adds the following fields when the PR arrives at the Support Site:
  554.  
  555. `>Number:'
  556.      (ENUMERATED) The incremental identification number for this PR.
  557.      This is included in the automated reply to the submitter (if that
  558.      feature of GNATS is activated; *note Changing your local
  559.      configuration: Local configuration.).  It is also included in the
  560.      copy of the PR that is sent to the maintainer.
  561.  
  562.      The `>Number:' field is often paired with the `>Category:' field as
  563.  
  564.           CATEGORY/NUMBER
  565.  
  566.      in subsequent email messages.  This is for historical reasons, as
  567.      well as because Problem Reports are stored in subdirectories which
  568.      are named by category.
  569.  
  570. `>State:'
  571.      (ENUMERATED) The current state of the PR.  Accepted values are:
  572.  
  573.     `open'
  574.           The PR has been filed and the responsible person notified.
  575.  
  576.     `analyzed'
  577.           The responsible person has analyzed the problem.
  578.  
  579.     `feedback'
  580.           The problem has been solved, and the originator has been
  581.           given a patch or other fix.
  582.  
  583.     `closed'
  584.           The changes have been integrated, documented, and tested, and
  585.           the originator has confirmed that the solution works.
  586.  
  587.     `suspended'
  588.           Work on the problem has been postponed.
  589.  
  590.      The initial state of a PR is `open'.  *Note States of Problem
  591.      Reports: States.
  592.  
  593. `>Responsible:'
  594.      (TEXT) The person responsible for this category.  GNATS retrieves
  595.      this information from the `categories' file (*note The
  596.      `categories' file: categories.).
  597.  
  598. `>Arrival-Date:'
  599.      (TEXT) The time that this PR was received by GNATS.  The date is
  600.      provided automatically by GNATS.
  601.  
  602. `>Audit-Trail:'
  603.      (MULTITEXT) Tracks related electronic mail as well as changes in
  604.      the `>State:' and `>Responsible:' fields with the sub-fields:
  605.  
  606.     `State-Changed-<From>-<To>: OLDSTATE>-<NEWSTATE'
  607.           The old and new `>State:' field values.
  608.  
  609.     `Responsible-Changed-<From>-<To>: OLDRESP>-<NEWRESP'
  610.           The old and new `>Responsible:' field values.
  611.  
  612.     `State-Changed-By: NAME'
  613.     `Responsible-Changed-By: NAME'
  614.           The name of the maintainer who effected the change.
  615.  
  616.     `State-Changed-When: TIMESTAMP'
  617.     `Responsible-Changed-When: TIMESTAMP'
  618.           The time the change was made.
  619.  
  620.     `State-Changed-Why: REASON...'
  621.     `Responsible-Changed-Why: REASON...'
  622.           The reason for the change.
  623.  
  624.      The `>Audit-Trail:' field also contains any mail messages received
  625.      by GNATS related to this PR, in the order received.
  626.  
  627. `'
  628.      >Unformatted: (MULTITEXT) Any random text found outside the fields
  629.      in the original Problem Report.
  630.  
  631. 
  632. File: gnats.info,  Node: Invoking the tools,  Next: Management,  Prev: Introduction,  Up: Top
  633.  
  634. Invoking the GNATS tools
  635. ************************
  636.  
  637.    The following programs comprise GNATS:
  638.  
  639. User Utilities
  640. --------------
  641.  
  642.    These tools are used by the maintainers of a body of work (`send-pr'
  643. is also used by the end users of the product).
  644.  
  645. `send-pr'
  646.      Used by anyone who has a problem with a body of work to submit a
  647.      report of the problem to the maintainers of that work (*note
  648.      Submitting Problem Reports: send-pr.).
  649.  
  650. `query-pr'
  651.      Used by software maintainers to query the GNATS database (*note
  652.      Querying the database: query-pr.).
  653.  
  654. `edit-pr'
  655.      Used by software maintainers to edit Problem Reports (to record new
  656.      data, to change the responsible party, etc.) (*note Editing
  657.      existing Problem Reports: edit-pr.).
  658.  
  659. `view-pr'
  660.      Used by software maintainers to view individual Problem Reports
  661.      using Emacs (*note Viewing individual Problem Reports: view-pr.).
  662.  
  663. Administrative Utilities
  664. ------------------------
  665.  
  666.    These tools are used by the GNATS administrator; see also *Note
  667. GNATS Administration: Management.  For complete explanations of these
  668. utilities, see *Note Administrative utilities: Admin utils.
  669.  
  670. `mkcat'
  671.      Creates new categories (*note Adding a problem category: mkcat.).
  672.  
  673. `rmcat'
  674.      Removes existing categories (*note Removing a problem category:
  675.      rmcat.).
  676.  
  677. `gen-index'
  678.      Generates an up-to-date copy of the index used by `query-pr' and
  679.      `edit-pr' (*note The `index' file: index file.).  Use `gen-index'
  680.      to rebuild the index if it becomes corrupted, or if you need a
  681.      copy of the current index for some reason (*note Regenerating the
  682.      index: gen-index.).
  683.  
  684. `mkdist'
  685.      Creates a distribution of the program `send-pr' for offsite
  686.      submitters of PRs (*note Configuring `send-pr' for the outside
  687.      world: mkdist.).
  688.  
  689. Internal Utilities
  690. ------------------
  691.  
  692.    These tools are used internally by GNATS.  You should not need to
  693. run these by hand.  For complete explanations of these utilities, see
  694. *Note Internal utilities: Internal utils.
  695.  
  696. `queue-pr'
  697.      Handles incoming bugs, first through a mail alias by queueing
  698.      incoming PRs as they arrive, and second as a periodic transfer
  699.      agent between the queue and the database.
  700.  
  701. `file-pr'
  702.      Files Problem Reports as they come in.
  703.  
  704. `at-pr'
  705.      Sends reminders to maintainers based on quoted response times.
  706.  
  707. `pr-edit'
  708.      Used by `edit-pr' to error-check and submit edited Problem Reports
  709.      (also *note Editing existing Problem Reports: edit-pr.).
  710.  
  711. `pr-addr'
  712.      Used by the `edit-pr' script to retrieve correct addresses from the
  713.      `responsible' file.
  714.  
  715.    *Note Where GNATS lives: Locations.
  716.  
  717. * Menu:
  718.  
  719. * send-pr::           Submitting Problem Reports
  720. * edit-pr::           Editing existing Problem Reports
  721. * query-pr::          Querying the database
  722. * view-pr::           Viewing individual Problem Reports
  723.  
  724. 
  725. File: gnats.info,  Node: send-pr,  Next: edit-pr,  Up: Invoking the tools
  726.  
  727. Submitting Problem Reports
  728. ==========================
  729.  
  730.    Use `send-pr' to submit Problem Reports to the database.  `send-pr'
  731. is both a shell script and a Lisp program for GNU Emacs; both
  732. implementations provide a template for submitters to complete.  In most
  733. cases, `send-pr' can determine intelligent default values for several
  734. fields, partially automating the bug-reporting process.
  735.  
  736.    *Note Configuring `send-pr' for the outside world: mkdist, for
  737. information on distributing a version of `send-pr' customized with your
  738. site's configuration.
  739.  
  740.    You can invoke `send-pr' from a shell prompt or from within GNU
  741. Emacs using `M-x send-pr'.
  742.  
  743. * Menu:
  744.  
  745. * using send-pr::             Creating new Problem Reports
  746. * send-pr in Emacs::          Using send-pr from within Emacs
  747. * send-pr from the shell::    Invoking send-pr from the shell
  748. * Helpful hints::
  749.  
  750. 
  751. File: gnats.info,  Node: using send-pr,  Next: send-pr in Emacs,  Up: send-pr
  752.  
  753. Creating new Problem Reports
  754. ----------------------------
  755.  
  756.    Invoking `send-pr' presents a PR "template" with a number of fields
  757. already filled in.  Complete the template as thoroughly as possible to
  758. make a useful bug report.  Submit only one bug with each PR.
  759.  
  760.    A template consists of three sections:
  761.  
  762. "Comments"
  763.      The top several lines of a blank template consist of a series of
  764.      comments that provide some basic instructions for completing the
  765.      Problem Report, as well as a list of valid entries for the
  766.      `>Category:' field.  These comments are all preceded by the string
  767.      `SEND-PR:' and are erased automatically when the PR is submitted.
  768.      The instructional comments within `<' and `>' are also removed.
  769.      (Only these comments are removed; lines you provide that happen to
  770.      have those characters in them, such as examples of shell-level
  771.      redirection, are not affected.)
  772.  
  773. "Mail Header"
  774.      `send-pr' creates a standard mail header.  `send-pr' completes all
  775.      fields except the `Subject:' line with default values.  (*Note
  776.      Problem Report format: Fields.)
  777.  
  778. "GNATS fields"
  779.      These are the informational fields that GNATS uses to route your
  780.      Problem Report to the responsible party for further action.  They
  781.      should be filled out as completely as possible.  (*Note Problem
  782.      Report format: Fields.  Also see *Note Helpful hints: Helpful
  783.      hints.)
  784.  
  785.    The default template contains your preconfigured `>Submitter-Id:'.
  786. `send-pr' attempts to determine values for the `>Originator:' and
  787. `>Organization:' fields (*note Problem Report format: Fields.).
  788. `send-pr' will set the `>Originator:' field to the value of the `NAME'
  789. environment variable if it has been set; similarly, `>Organization:'
  790. will be set to the value of `ORGANIZATION'.  `send-pr' also attempts to
  791. find out some information about your system and architecture, and
  792. places this information in the `>Environment:' field if it finds any.
  793.  
  794.    You may submit problem reports to different Support Sites from the
  795. default site by specifying the alternate site when you invoke
  796. `send-pr'.  Each `site' has its own list of categories for which it
  797. accepts Problem Reports.
  798.  
  799.    `send-pr' also provides the mail header section of the template with
  800. default values in the `To:', `From:', and `Reply-To:' fields.  The
  801. `Subject:' field is empty.
  802.  
  803.    The template begins with a comment section:
  804.  
  805.      SEND-PR: -*- send-pr  -*-
  806.      SEND-PR: Lines starting with `SEND-PR' will be removed
  807.      SEND-PR: automatically as well as all comments (the text
  808.      SEND-PR: below enclosed in `<' and `>').
  809.      SEND-PR:
  810.      SEND-PR: Please consult the document `Reporting Problems
  811.      SEND-PR: Using send-pr' if you are not sure how to fill out
  812.      SEND-PR: a problem report.
  813.      SEND-PR:
  814.      SEND-PR: Choose from the following categories:
  815.  
  816. and also contains a list of valid `>Category:' values for the Support
  817. Site to whom you are submitting this Problem Report.  One (and only
  818. one) of these values should be placed in the `>Category:' field.
  819.  
  820.    The mail header is just below the comment section.  Fill out the
  821. `Subject:' field, if it is not already completed using the value of
  822. `>Synopsis:'.  The other mail header fields contain default values.
  823.  
  824.      To: SUPPORT-SITE
  825.      Subject: *complete this field*
  826.      From: YOUR-LOGIN@YOUR-SITE
  827.      Reply-To: YOUR-LOGIN@YOUR-SITE
  828.      X-send-pr-version: send-pr 3.101
  829.  
  830. where SUPPORT-SITE is an alias for the Support Site you wish to submit
  831. this PR to.
  832.  
  833.    The rest of the template contains GNATS fields.  Each field is
  834. either automatically completed with valid information (such as your
  835. `>Submitter-Id:') or contains a one-line instruction specifying the
  836. information that field requires in order to be correct.  For example,
  837. the `>Confidential:' field expects a value of `yes' or `no', and the
  838. answer must fit on one line; similarly, the `>Synopsis:' field expects
  839. a short synopsis of the problem, which must also fit on one line.  Fill
  840. out the fields as completely as possible.  *Note Helpful hints: Helpful
  841. hints, for suggestions as to what kinds of information to include.
  842.  
  843.    In this example, words in *italics* are filled in with
  844. pre-configured information:
  845.  
  846.      >Submitter-Id: *your submitter-id*
  847.      >Originator:   *your name here*
  848.      >Organization:
  849.          *your organization*
  850.      >Confidential:<[ yes | no ] (one line)>
  851.      >Synopsis:    <synopsis of the problem (one line)>
  852.      >Severity:    <[non-critical | serious | critical](one line)>
  853.      >Priority:    <[ low | medium | high ] (one line)>
  854.      >Category:    <name of the product (one line)>
  855.      >Class:       <[sw-bug | doc-bug | change-request | support]>
  856.      >Release:     <release number (one line)>
  857.      >Environment:
  858.               <machine, os, target, libraries (multiple lines)>
  859.      
  860.      >Description:
  861.             <precise description of the problem (multiple lines)>
  862.      >How-To-Repeat:
  863.             <code/input/activities to reproduce (multiple lines)>
  864.      >Fix:
  865.             <how to correct or work around the problem, if known
  866.              (multiple lines)>
  867.  
  868.    When you finish editing the Problem Report, `send-pr' mails it to
  869. the address named in the `To:' field in the mail header.  `send-pr'
  870. checks that the complete form contains a valid `>Category:'.
  871.  
  872.    If your PR has an invalid value in one of the ENUMERATED fields
  873. (*note Problem Report format: Fields.), `send-pr' places the PR in a
  874. temporary file named `/tmp/pbadNNNN' on your machine.  NNNN is the
  875. process identification number given to your current `send-pr' session.
  876. If you are running `send-pr' from the shell, you are prompted as to
  877. whether or not you wish to try editing the same Problem Report again.
  878. If you are running `send-pr' from Emacs, the Problem Report is placed
  879. in the buffer `*send-pr-error*'; you can edit this file and then submit
  880. it with
  881.  
  882.      M-x gnats-submit-pr
  883.  
  884.    Any further mail concerning this Problem Report should be
  885. carbon-copied to the GNATS mailing address as well, with the category
  886. and identification number in the `Subject:' line of the message.
  887.  
  888.      Subject: Re: PR CATEGORY/GNATS-ID: ORIGINAL MESSAGE SUBJECT
  889.  
  890. Messages which arrive with `Subject:' lines of this form are
  891. automatically appended to the Problem Report in the `>Audit-Trail:'
  892. field in the order received.
  893.  
  894. 
  895. File: gnats.info,  Node: send-pr in Emacs,  Next: send-pr from the shell,  Prev: using send-pr,  Up: send-pr
  896.  
  897. Using `send-pr' from within Emacs
  898. ---------------------------------
  899.  
  900.    You can use an interactive `send-pr' interface from within GNU Emacs
  901. to fill out your Problem Report.  We recommend that you familiarize
  902. yourself with Emacs before using this feature (*note Introduction:
  903. (emacs)Introduction.).
  904.  
  905.    Call `send-pr' with `M-x send-pr'.(1)  `send-pr' responds with a
  906. Problem Report template preconfigured for the Support Site from which
  907. you received `send-pr'.  (If you use `send-pr' locally, the default
  908. Support Site is probably your local site.)
  909.  
  910.    You may also submit problem reports to different Support Sites from
  911. the default site.  To use this feature, invoke `send-pr' with
  912.  
  913.      C-u M-x send-pr
  914.  
  915.    `send-pr' prompts you for the name of a SITE.  SITE is an alias on
  916. your local machine which points to an alternate Support Site.
  917.  
  918.    `send-pr' displays the template and prompts you in the minibuffer
  919. with the line:
  920.      >Category: other
  921.  
  922. Delete the default value `other' *in the minibuffer* and replace it
  923. with the keyword corresponding to your problem (the list of valid
  924. categories is in the topmost section of the PR template).  For example,
  925. if the problem you wish to report has to do with the GNU C compiler,
  926. and your support organization accepts bugs submitted for this program
  927. under the category `gcc', delete `other' and then type `gcc[<RET>]'.
  928. `send-pr' replaces the line
  929.  
  930.      >Category:       <name of the product (one line)>
  931.  
  932. in the template with
  933.  
  934.      >Category:       gcc
  935.  
  936. and moves on to another field.
  937.  
  938.    `send-pr' provides name completion in the minibuffer.  For instance,
  939. you can also type `gc[<TAB>]', and `send-pr' attempts to complete the
  940. entry for you.  Typing `g[<TAB>]' may not have the same effect if
  941. several possible entries begin with `g'.  In that case `send-pr' cannot
  942. complete the entry because it cannot determine whether you mean `gcc'
  943. or, for example, `gdb', if both of those are possible categories.
  944. `send-pr' continues to prompt you for a valid entry until you enter one.
  945.  
  946.    `send-pr' prompts you interactively to enter each field for which
  947. there is a range of specific choices.  If you attempt to enter a value
  948. which is not in the range of acceptable entries, `send-pr' responds
  949. with `[No match]' and allows you to change the entry until it contains
  950. an acceptable value.  This avoids unusable information (at least in
  951. these fields) and also avoids typographical errors which could cause
  952. problems later.
  953.  
  954.    `send-pr' prompts you for the following fields:
  955.  
  956.      >Category:
  957.      >Confidential: (*default*:  no)
  958.      >Severity:     (*default*:  serious)
  959.      >Priority:     (*default*:  medium)
  960.      >Class:        (*default*:  sw-bug)
  961.      >Release:
  962.      >Synopsis:     (*this value is copied to `Subject:'*)
  963.  
  964. After you complete these fields, `send-pr' places the cursor in the
  965. `>Description:' field and displays the message
  966.  
  967.      To send the problem report use: C-c C-c
  968.  
  969. in the minibuffer.  At this point, edit the file in the main buffer to
  970. reflect your specific problem, putting relevant information in the
  971. proper fields.
  972.  
  973.    `send-pr' provides a few key bindings to make moving around in a
  974. template buffer more simple:
  975.  
  976. `C-c C-f'
  977. `M-x change-field'
  978.      Changes the field under the cursor.  `edit-pr' prompts you for a
  979.      new value.
  980.  
  981. `M-C-b'
  982. `M-x gnats-backward-field'
  983.      Moves the cursor to the beginning of the value of the current
  984.      field.
  985.  
  986. `M-C-f'
  987. `M-x gnats-forward-field'
  988.      Moves the cursor to the end of the value of the current field.
  989.  
  990. `M-p'
  991. `M-x gnats-previous-field'
  992.      Moves the cursor back one field to the beginning of the value of
  993.      the previous field.
  994.  
  995. `M-n'
  996. `M-x gnats-next-field'
  997.      Moves the cursor forward one field to the beginning of the value
  998.      of the next field.
  999.  
  1000.    `send-pr' takes over again when you type `C-c C-c' to send the
  1001. message.  `send-pr' reports any errors in a separate buffer, which
  1002. remains in existence until you send the PR properly (or, of course,
  1003. until you explicitly kill the buffer).
  1004.  
  1005.    For detailed instructions on using Emacs, see *Note Introduction:
  1006. (emacs)Introduction.
  1007.  
  1008.    ---------- Footnotes ----------
  1009.  
  1010.    (1) If typing `M-x send-pr' doesn't work, see your system
  1011. administrator for help loading `send-pr' into Emacs.
  1012.  
  1013. 
  1014. File: gnats.info,  Node: send-pr from the shell,  Next: Helpful hints,  Prev: send-pr in Emacs,  Up: send-pr
  1015.  
  1016. Invoking `send-pr' from the shell
  1017. ---------------------------------
  1018.  
  1019.      send-pr [ SITE ]
  1020.              [ -f PROBLEM-REPORT | --file PROBLEM-REPORT ]
  1021.              [ -t MAIL-ADDRESS | --to MAIL-ADDRESS ]
  1022.              [ --request-id ]
  1023.              [ -L | --list ] [ -P | --print ]
  1024.              [ -V | --version] [ -h | --help ]
  1025.  
  1026.    SITE is an alias on your local machine which points to an address
  1027. used by a Support Site.  If this argument is not present, the default
  1028. SITE is usually the site which you received `send-pr' from, or your
  1029. local site if you use GNATS locally.
  1030.  
  1031.    Invoking `send-pr' with no options calls the editor named in your
  1032. environment variable `EDITOR' on a default PR template.  If the
  1033. environment variable `PR_FORM' is set, its value is used as a file name
  1034. which contains a valid template.  If `PR_FORM' points to a missing or
  1035. unreadable file, or if the file is empty, `send-pr' generates an error
  1036. message and opens the editor on a default template.
  1037.  
  1038. `-f PROBLEM-REPORT'
  1039. `--file PROBLEM-REPORT'
  1040.      Specifies a file, PROBLEM-REPORT, where a completed Problem Report
  1041.      already exists.  `send-pr' sends the contents of the file without
  1042.      invoking an editor.  If PROBLEM-REPORT is `-', `send-pr' reads
  1043.      from standard input.
  1044.  
  1045. `-t MAIL-ADDRESS'
  1046. `--to MAIL-ADDRESS'
  1047.      Sends the PR to MAIL-ADDRESS. The default is preset when `send-pr'
  1048.      is configured.  *This option is not recommended*; instead, use the
  1049.      argument SITE on the command line.
  1050.  
  1051. `-c MAIL-ADDRESS'
  1052. `--cc MAIL-ADDRESS'
  1053.      Places MAIL-ADDRESS in the `Cc:' header field of the message to be
  1054.      sent.
  1055.  
  1056. `--request-id'
  1057.      Sends a request for a `>Submitter-Id:' to the Support Site.
  1058.  
  1059. `-L'
  1060. `--list'
  1061.      Prints the list of valid `>Category:' values on standard output.
  1062.      No mail is sent.
  1063.  
  1064. `-s SEVERITY'
  1065. `--severity SEVERITY'
  1066.      Sets the initial value of the `>Severity:' field to SEVERITY.
  1067.  
  1068. `-P'
  1069. `--print'
  1070.      Displays the PR template.  If the variable `PR_FORM' is set in your
  1071.      environment, the file it specifies is printed.  If `PR_FORM' is not
  1072.      set, `send-pr' prints the standard blank form.  If the file
  1073.      specified by `PR_FORM' doesn't exist, `send-pr' displays an error
  1074.      message.  No mail is sent.
  1075.  
  1076. `-V'
  1077. `--version'
  1078.      Displays the `send-pr' version number and a usage summary.  No mail
  1079.      is sent.
  1080.  
  1081. `-h'
  1082. `--help'
  1083.      Displays a usage summary for `send-pr'.  No mail is sent.
  1084.  
  1085. 
  1086. File: gnats.info,  Node: Helpful hints,  Prev: send-pr from the shell,  Up: send-pr
  1087.  
  1088. Helpful hints
  1089. -------------
  1090.  
  1091.    There is no orthodox standard for submitting effective bug reports,
  1092. though you might do well to consult the section on submitting bugs for
  1093.  
  1094.    GNU `gcc' in *Note Reporting Bugs: (gcc)Bugs, by Richard Stallman.
  1095. This section contains instructions on what kinds of information to
  1096. include and what kinds of mistakes to avoid.
  1097.  
  1098.    In general, common sense (assuming such an animal exists) dictates
  1099. the kind of information that would be most helpful in tracking down and
  1100. resolving problems in software.
  1101.    * Include anything *you* would want to know if you were looking at
  1102.      the report from the other end.  There's no need to include every
  1103.      minute detail about your environment, although anything that might
  1104.      be different from someone else's environment should be included
  1105.      (your path, for instance).
  1106.  
  1107.    * Narratives are often useful, given a certain degree of restraint.
  1108.      If a person responsible for a bug can see that A was executed, and
  1109.      then B and then C, knowing that sequence of events might trigger
  1110.      the realization of an intermediate step that was missing, or an
  1111.      extra step that might have changed the environment enough to cause
  1112.      a visible problem.  Again, restraint is always in order ("I set
  1113.      the build running, went to get a cup of coffee (Columbian, cream
  1114.      but no sugar), talked to Sheila on the phone, and then THIS
  1115.      happened...") but be sure to include anything relevant.
  1116.  
  1117.    * Richard Stallman writes, "The fundamental principle of reporting
  1118.      bugs usefully is this: *report all the facts*.  If you are not sure
  1119.      whether to state a fact or leave it out, state it!"  This holds
  1120.      true across all problem reporting systems, for computer software
  1121.      or social injustice or motorcycle maintenance.  It is especially
  1122.      important in the software field due to the major differences
  1123.      seemingly insignificant changes can make (a changed variable, a
  1124.      missing semicolon, etc.).
  1125.  
  1126.    * Submit only *one* problem with each Problem Report.  If you have
  1127.      multiple problems, use multiple PRs.  This aids in tracking each
  1128.      problem and also in analyzing the problems associated with a given
  1129.      program.
  1130.  
  1131.    * It never hurts to do a little research to find out if the bug
  1132.      you've found has already been reported.  Most software releases
  1133.      contain lists of known bugs in the Release Notes which come with
  1134.      the software; see your system administrator if you don't have a
  1135.      copy of these.
  1136.  
  1137.    * The more closely a PR adheres to the standard format, the less
  1138.      interaction is required by a database administrator to route the
  1139.      information to the proper place.  Keep in mind that anything that
  1140.      requires human interaction also requires time that might be better
  1141.      spent in actually fixing the problem.  It is therefore in
  1142.      everyone's best interest that the information contained in a PR be
  1143.      as correct as possible (in both format and content) at the time of
  1144.      submission.
  1145.  
  1146. 
  1147. File: gnats.info,  Node: edit-pr,  Next: query-pr,  Prev: send-pr,  Up: Invoking the tools
  1148.  
  1149. Editing existing Problem Reports
  1150. ================================
  1151.  
  1152.    Use `edit-pr' to make changes to existing PRs in the database.
  1153. `edit-pr' is both a shell script and a Lisp program for GNU Emacs.
  1154. Both implementations are essentially identical, though the Emacs
  1155. interface provides interactive prompting for some of the fields.
  1156.  
  1157.    `edit-pr' first examines the PR you wish to edit and locks it if it
  1158. is not already locked.  This is to prevent you from editing a PR at the
  1159. same time as another user.  If the PR you wish to edit is already in the
  1160. process of being edited, `edit-pr' tells you the name of the person who
  1161. owns the lock.
  1162.  
  1163.    You may edit any field in the database that you wish.  We recommend
  1164. that you avoid deleting any information in the TEXT and MULTITEXT
  1165. fields (such as `>Description:' and `>How-To-Repeat:' (*note Problem
  1166. Report format: Fields.).  We also recommend that you record the final
  1167. solution to the problem in the `>Fix:' field for future reference.
  1168.  
  1169.    If you change the `>Responsible:' field, `edit-pr' prompts you to
  1170. supply a reason for the change.  `edit-pr' then mails copies of the
  1171. change message to the previous responsible party, and to the new
  1172. responsible party.  The change is then recorded in the `>Audit-Trail:'
  1173. section of the PR as follows:
  1174.  
  1175. `Responsible-Changed-<From>-<To>': The value change, supplied
  1176.      automatically by `edit-pr'.
  1177.  
  1178. `Responsible-Changed-By': Your name here, supplied
  1179.      automatically by `edit-pr'.
  1180.  
  1181. `Responsible-Changed-When': The current date, supplied
  1182.      automatically by `edit-pr'.
  1183.  
  1184. `Responsible-Changed-Why': Your reason for the change; you
  1185.      are prompted for this.
  1186.  
  1187.    If you change the `>State:' field, you are prompted to supply a
  1188. reason for the change.  Copies of the change message are then mailed to
  1189. the responsible party, and to the original submitter of the Problem
  1190. Report.  The change is then recorded in the `Audit-Trail' section of
  1191. the PR as follows:
  1192.  
  1193. `State-Changed-<From>-<To>': The value change, supplied
  1194.      automatically by `edit-pr'.
  1195.  
  1196. `State-Changed-By': Your name here, supplied
  1197.      automatically by `edit-pr'.
  1198.  
  1199. `State-Changed-When': The current date, supplied
  1200.      automatically by `edit-pr'.
  1201.  
  1202. `State-Changed-Why': Your reason for the change; you are
  1203.      prompted for this.
  1204.  
  1205.    The PR is then resubmitted to the database, and the index is updated
  1206. (*note The `index' file: index file.).  For information on `pr-edit',
  1207. the main driver for `edit-pr', see *Note Internal utilities: Internal
  1208. utils.
  1209.  
  1210. * Menu:
  1211.  
  1212. * edit-pr in Emacs::        Using `edit-pr' from within Emacs
  1213. * edit-pr from the shell::  Invoking `edit-pr' from the shell
  1214.  
  1215.